#include "Avalon/Services/ServiceProtocolServerChannel.hpp"

using namespace Avalon;
using namespace Avalon::IO;
using namespace Avalon::Services;
using namespace Avalon::Threading;

ServiceProtocolServerChannel::ServiceProtocolServerChannel() {}

ServiceProtocolServerChannel::~ServiceProtocolServerChannel() {}

void ServiceProtocolServerChannel::SendMessage(const Message& message) {
  m_serviceProtocol.SendMessage(message);
}

ConnectionState& ServiceProtocolServerChannel::GetConnectionState() {
  return m_connectionState;
}

AsyncTaskQueue& ServiceProtocolServerChannel::GetTaskQueue() {
  return m_taskQueue;
}

Async<void>& ServiceProtocolServerChannel::GetLastTaskResult() {
  return m_lastTaskResult;
}

ServiceProtocol& ServiceProtocolServerChannel::GetServiceProtocol() {
  return m_serviceProtocol;
}
